import 'package:flutter_agent_terminal/generated/json/base/json_field.dart';
import 'package:flutter_agent_terminal/generated/json/house_list_entity.g.dart';
import 'dart:convert';

@JsonSerializable()
class HouseListEntity {
	@JSONField(name: "Msg")
	late String msg;
	@JSONField(name: "Code")
	late int code;
	@JSONField(name: "Data")
	late List<HouseListData> data;
	@JSONField(name: "PM")
	late HouseListPM pM;

	HouseListEntity();

	factory HouseListEntity.fromJson(Map<String, dynamic> json) => $HouseListEntityFromJson(json);

	Map<String, dynamic> toJson() => $HouseListEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class HouseListData {
	@JSONField(name: "IsSharePool")
	late int isSharePool;
	@JSONField(name: "PropertyNo")
	late String propertyNo;
	@JSONField(name: "PropertyID")
	late String propertyID;
	@JSONField(name: "NewHouseCID")
	late int newHouseCID;
	@JSONField(name: "LookHouseTime")
	late String lookHouseTime;
	@JSONField(name: "HouseSource")
	late int houseSource;
	@JSONField(name: "HouseSourceName")
	late String houseSourceName;
	@JSONField(name: "AirCondition")
	late int airCondition;
	@JSONField(name: "AirConditionName")
	late String airConditionName;
	@JSONField(name: "ListedTime")
	late String listedTime;
	@JSONField(name: "Title")
	late String title;
	@JSONField(name: "District")
	late int district;
	@JSONField(name: "DistrictName")
	late String districtName;
	@JSONField(name: "FloorHeight")
	late String floorHeight;
	late int workStation;
	@JSONField(name: "IsLock")
	late int isLock;
	@JSONField(name: "PropertyCode")
	late int propertyCode;
	@JSONField(name: "BuildingName")
	late String buildingName;
	@JSONField(name: "BuildingAlias")
	late String buildingAlias;
	@JSONField(name: "RidgepoleName")
	late String ridgepoleName;
	@JSONField(name: "IsHadNoUnit")
	late int isHadNoUnit;
	@JSONField(name: "RidgepoleUnitName")
	late String ridgepoleUnitName;
	@JSONField(name: "HouseNum")
	late String houseNum;
	@JSONField(name: "Address")
	late String address;
	@JSONField(name: "AreaID")
	late int areaID;
	@JSONField(name: "AreaName")
	late String areaName;
	@JSONField(name: "ShangQuanID")
	late int shangQuanID;
	@JSONField(name: "ShangQuanName")
	late String shangQuanName;
	@JSONField(name: "Status")
	late int status;
	@JSONField(name: "StatusName")
	late String statusName;
	@JSONField(name: "IsDel")
	late int isDel;
	@JSONField(name: "CheckStatus")
	late int checkStatus;
	@JSONField(name: "Floor")
	late int floor;
	@JSONField(name: "SumFloor")
	late int sumFloor;
	@JSONField(name: "Orientation")
	late int orientation;
	@JSONField(name: "OrientationName")
	late String orientationName;
	@JSONField(name: "PriceAverage")
	late String priceAverage;
	@JSONField(name: "UnitPrice")
	late String unitPrice;
	@JSONField(name: "Decorate")
	late int decorate;
	@JSONField(name: "DecorateName")
	late String decorateName;
	@JSONField(name: "Purpose")
	late int purpose;
	@JSONField(name: "PurposeName")
	late String purposeName;
	@JSONField(name: "PropertyType")
	late int propertyType;
	@JSONField(name: "PropertyTypeName")
	late String propertyTypeName;
	@JSONField(name: "CurrentSituationName")
	late String currentSituationName;
	@JSONField(name: "OfficeFeature")
	late int officeFeature;
	@JSONField(name: "OfficeFeatureName")
	late String officeFeatureName;
	@JSONField(name: "WHEmpName")
	late String wHEmpName;
	@JSONField(name: "WHEmpDepartName")
	late String wHEmpDepartName;
	@JSONField(name: "WHEmpTel")
	late String wHEmpTel;
	@JSONField(name: "Price")
	late String price;
	@JSONField(name: "RentType")
	late int rentType;
	@JSONField(name: "MJ")
	late String mJ;
	@JSONField(name: "CountF")
	late int countF;
	@JSONField(name: "CountT")
	late int countT;
	@JSONField(name: "CountW")
	late int countW;
	@JSONField(name: "CountY")
	late int countY;
	@JSONField(name: "TitleImgUrl")
	late String titleImgUrl;
	@JSONField(name: "MJUnit")
	late String mJUnit;
	@JSONField(name: "Trade")
	late int trade;
	@JSONField(name: "PriceUnit")
	late String priceUnit;
	@JSONField(name: "PriceAverageUnit")
	late String priceAverageUnit;
	@JSONField(name: "LStatus")
	late int lStatus;
	@JSONField(name: "TrustDate")
	late String trustDate;
	@JSONField(name: "BeltWatchDate")
	late String beltWatchDate;
	@JSONField(name: "BeltWatchDays")
	late String beltWatchDays;
	@JSONField(name: "FollowDate")
	late String followDate;
	@JSONField(name: "FollowDays")
	late String followDays;
	@JSONField(name: "CallDate")
	late String callDate;
	@JSONField(name: "CallDays")
	late String callDays;
	@JSONField(name: "ListLabel")
	late List<String> listLabel;
	@JSONField(name: "ListLabelForPC")
	late List<dynamic> listLabelForPC;
	@JSONField(name: "PhotoModelLabel")
	late List<dynamic> photoModelLabel;
	@JSONField(name: "PhotoNum")
	late int photoNum;
	@JSONField(name: "EntrustType")
	late int entrustType;
	@JSONField(name: "RunningStatus")
	late int runningStatus;
	@JSONField(name: "KeyNum")
	late int keyNum;
	@JSONField(name: "TransLabel")
	late int transLabel;
	@JSONField(name: "RunLabel")
	late int runLabel;
	@JSONField(name: "Grade")
	late int grade;
	@JSONField(name: "GradeName")
	late String gradeName;
	@JSONField(name: "Private")
	late int private;
	@JSONField(name: "PrivateName")
	late String privateName;
	@JSONField(name: "RetainedState")
	late int retainedState;
	@JSONField(name: "CurrentSituation")
	late String currentSituation;
	@JSONField(name: "Certificate")
	late String certificate;
	@JSONField(name: "LookHouse")
	late String lookHouse;
	@JSONField(name: "CityID")
	late int cityID;
	@JSONField(name: "SystemTag")
	late int systemTag;
	@JSONField(name: "ChangePriceType")
	late int changePriceType;
	@JSONField(name: "ChangePriceDate")
	late String changePriceDate;
	@JSONField(name: "ChangePrice")
	late String changePrice;
	@JSONField(name: "ChangePricUnit")
	late String changePricUnit;
	@JSONField(name: "ExclusiveDate")
	late String exclusiveDate;
	@JSONField(name: "EntrustDate")
	late String entrustDate;
	@JSONField(name: "TradeName")
	late String tradeName;
	@JSONField(name: "FloorNum")
	late int floorNum;
	@JSONField(name: "WHEmpCode")
	late int wHEmpCode;
	@JSONField(name: "WHDepartCode")
	late int wHDepartCode;
	@JSONField(name: "WHFollowDate")
	late String wHFollowDate;
	@JSONField(name: "WHFollowDays")
	late String wHFollowDays;
	@JSONField(name: "WHCallDate")
	late String wHCallDate;
	@JSONField(name: "WHCallDays")
	late String wHCallDays;
	@JSONField(name: "RegCertificateDate")
	late String regCertificateDate;
	@JSONField(name: "Tel")
	late String tel;
	@JSONField(name: "IsTaoBao")
	late int isTaoBao;
	@JSONField(name: "IsTaoBaoPool")
	late int isTaoBaoPool;
	@JSONField(name: "CheckResult")
	late int checkResult;
	@JSONField(name: "CheckResultName")
	late String checkResultName;
	@JSONField(name: "IsVR")
	late int isVR;
	@JSONField(name: "IsVideo")
	late int isVideo;
	@JSONField(name: "IsShow")
	late int isShow;
	@JSONField(name: "IsShowFloor")
	late int isShowFloor;
	@JSONField(name: "PropertyLawNo")
	late String propertyLawNo;

	HouseListData();

	factory HouseListData.fromJson(Map<String, dynamic> json) => $HouseListDataFromJson(json);

	Map<String, dynamic> toJson() => $HouseListDataToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class HouseListPM {
	@JSONField(name: "TotalCount")
	late int totalCount;
	@JSONField(name: "PageCount")
	late int pageCount;
	@JSONField(name: "PageIndex")
	late int pageIndex;
	@JSONField(name: "PageSize")
	late int pageSize;

	HouseListPM();

	factory HouseListPM.fromJson(Map<String, dynamic> json) => $HouseListPMFromJson(json);

	Map<String, dynamic> toJson() => $HouseListPMToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}